import { Ref } from 'vue'
import { TypeMappingFormTypeValueName } from './enum'

type FormTypeValueNameKey = keyof typeof TypeMappingFormTypeValueName

interface FormItem {
    label: string,
    type: FormTypeValueNameKey,
    checkedIdArr: Ref<never []>,
    checkedIdNodeArr: Ref<never []>,
    requestParams?: Ref<{}>
}

interface FormItemProps {
    item: FormItem,
    type: FormTypeValueNameKey
}

interface ShowModalParams {
   id: string,
   createChoosedDeptTag: Array<TagItem>,
   checkChoosedDeptTag: Array<TagItem>
}

interface TagItem {
    id: string
    tenantId?: any
    tagName: string
    tagColor?: any
    createTime?: any
    teamLeaders?: any[]
    parent?: any
    parentId?: string
    children?: any[]
    description?: any
    phone?: any
    tagAddress?: any
    tagPlaceList?: any[]
    type?: number
    userCount?: number
    serviceProviderTenantId?: any
}

export {
    FormTypeValueNameKey,
    FormItem,
    FormItemProps,
    ShowModalParams,
    TagItem
}
